package me.hekr.iotos.softgateway;

import me.hekr.iotos.softgateway.northProxy.ProxyCallbackService;
import me.hekr.iotos.softgateway.northProxy.ProxyService;
import me.hekr.iotos.softgateway.northProxy.processor.CloudSendProcessor;
import org.tio.utils.jfinal.P;

public class IoTGatewayApplication {

  public static void main(String[] args) throws Exception {
    // 获取配置文件中的相关参数
    P.use("config.properties");

    // 软件网关初始化，完成软件网关参数读取、登陆操作
    ProxyService.init();
    // 软件网关对云端下发指令或回复指令进行相应处理的processor注册
    ProxyCallbackService.processorManager.register(new CloudSendProcessor());

    // 若要启用http则将下行注释打开
    //    HttpServerInit.init();

    // 使用http client示例，此处example方法调用的接口在HttpServer中，因此若要启动此示例方法务必也将HttpServerInit启动
    //    Thread.sleep(5000);
    //    HttpClient.example();

    // 若要启用TCP client则将下行注释打开
    //     TcpClientStarter.start();
    // 若要启用TCP server则将下行注释打开
    //        TcpServerStarter.start();
    // 若要启用UDP client则将下行注释打开
    //     UdpClientStarter.start();
    // 若要启用UDP server则将下行注释打开
    //     UdpService.init();
  }

  public IoTGatewayApplication() {}
}
